Translating C to safer Rust
نویسندگان
چکیده
Rust is a relatively new programming language that targets efficient and safe systems-level applications. It includes sophisticated type system allows for provable memory- thread-safety, explicitly designed to take the place of unsafe languages such as C C++ in coding ecosystem. There large existing codebase (many which have been affected by bugs security vulnerabilities due unsafety) would benefit from being rewritten remove an entire class potential bugs. However, porting these applications manually daunting task. In this paper we investigate problem automatically translating programs into safer programs--that is, improve on safety guarantees original programs. We conduct in-depth study underlying causes unsafety translated relative impact fixing each cause. also describe novel technique removing particular cause evaluate its effectiveness impact. This presents first empirical (as opposed originally written Rust)
منابع مشابه
Translating C# to Branching Symbolic Transducers
The paper looks at tooling aspects of transforming C# programs into symbolic transducers with branching rules (BSTs). The latter are used for describing list comprehensions that incorporate loopcarried state. One concrete application is log analysis where input streams of data are transformed into output streams of data via intermediate pipelines of transducers. The paper presents algorithms fo...
متن کاملTranslating Uppaal to Not Quite C*
This project presents a simple translation from Uppaal models of real-time controllers to NQC programs. The modeling of these controllers in Uppaal provides a way to verify the requirements on these controllers. The user directs the translation by defining a type for each variable used in the model and by assigning each automaton in the model to a controller. The translation, that has been impl...
متن کاملAdditions to the rust mycobiota of Iran
In the present study, two species of rosaceous rust fungi are reported from Iran. Ochropsora ariae is newly reported for Iranian rust mycobiota. This is the first report of a member of the genus Ochropsora from Iran. Kuehneola uredinis is reported for the second time from Iran since its first report in 1958 under the name K. albida. Pyrus boissieriana</em...
متن کاملOptimizing P#: Translating Prolog to More Idiomatic C#
P# is our Prolog implementation which operates by translating Prolog to C# source code. The C# produced by the latest version (1.1.3) of P# was very unlike the code which a human programmer might produce. In this paper we show how, aided by mode and type annotations, more idiomatic C# can be generated by translating tail-recursion into while loops and applying liveness analysis to remove unnece...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on programming languages
سال: 2021
ISSN: ['2475-1421']
DOI: https://doi.org/10.1145/3485498